package com.micro.ai.template.annotation;

import java.lang.annotation.*;

/**
 * 权限验证注解
 * 
 * @author micro-ai
 * @since 0.0.1
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequirePermission {

    /**
     * 权限资源
     */
    String resource();

    /**
     * 权限动作
     */
    String action();

    /**
     * 权限描述
     */
    String description() default "";

    /**
     * 是否记录审计日志
     */
    boolean audit() default true;

    /**
     * 权限级别
     */
    int level() default 1;
}
